Network monitoring and control of fluid handling apparatus

ABSTRACT

Aspects are provided for positive displacement pumps and methods and systems for remotely controlling such positive displacement pumps via a network. An application server receives, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the pump. The application server sends the program to a network hub to publish the control commands to the pump, wherein the pump retrieves the control commands from the network hub. The application server stores a record of the control commands associated with the registered user. The application server receives operation parameters from the pump and stores the operation parameters in association with the registered user. The application server evaluates the operation parameters according to defined conditions. The application server transmits an alert to a registered user, for example.

CLAIM OF PRIORITY UNDER 35 U.S.C. § 119

This application claims priority to U.S. Provisional Application No. 62/650,724 titled “NETWORK MONITORING AND CONTROL OF FLUID HANDLING APPARATUS,” filed Mar. 30, 2018, which is assigned to the assignee hereof, and incorporated herein by reference in its entirety.

INTRODUCTION

Aspects of the present disclosure generally relate to positive displacement pumps and systems for monitoring and controlling such pumps.

BACKGROUND

Fluid handling apparatuses such as positive displacement pumps are used in various environments to supply fluids at set rates. Positive displacement pumps are often used due to their precision and durability. For example, positive displacement pumps may operate unattended for continuous laboratory or manufacturing processes.

Although positive displacement pumps can operate for long periods of time without malfunctioning, errors can occur. Although current pumps may monitor operation and report detected issues, control is conventionally performed locally.

Accordingly, there remains an unmet need in the related art for positive displacement pumps and systems and methods of control thereof that allow secure remote operation.

SUMMARY

The following presents a simplified summary of one or more aspects of the present disclosure in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects, nor delineate the scope of any or all aspects. Its purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

In an aspect, the present disclosure provides for positive displacement pumps and methods and systems for remotely controlling such positive displacement pumps via a network. An application server receives, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. The application server transmits the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. The application server stores a record of the control commands associated with the registered user. The application server receives operation parameters from the positive displacement pump and stores the operation parameters in association with the registered user. The application server evaluates the operation parameters according to defined conditions. The application server transmits an alert to a registered user.

In another aspect, the present disclosure provides a positive displacement pump. The positive displacement pump may include a pumphead, a motor operably connected to the pumphead to drive the pump, a liquid leak sensor configured to detect leakage from the pumphead or tube installed therein, a memory, a network interface, a processor in communication with the memory and the network interface. The processor may be configured to subscribe, via the network interface, to a command hub that publishes commands for the pump. The processor may be configured to control the motor to drive the pumphead according to commands received from the command hub via the network interface. The processor may be configured to collect operation parameters from the motor and a liquid leak sensor. The processor may be configured to send the operation parameters to a remote server via the network interface.

In another aspect, the disclosure provides a system of controlling a positive displacement pump via a network. The system may include a positive displacement pump that includes a pumphead, a motor operably connected to the pumphead to drive the pump, and a liquid leak sensor configured to detect leakage from the pumphead or tube installed therein. The system may include a server comprising a memory, a network interface, and a processor in communication with the memory and the network interface. The processor may be configured to receive, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. The processor may be configured to transmit the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. The processor may be configured to store (e.g., in a data repository) a record of the control commands associated with the registered user. The processor may be configured to receive operation parameters from the positive displacement pump and store the operation parameters in association with the registered user. The processor may be configured to evaluate the operation parameters according to defined conditions to determine whether an alert condition has occurred. The processor may be configured to transmit an alert to the registered user or another registered user.

These and other aspects of the present disclosure will become more fully understood upon a review of the detailed description, which follows.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is schematic diagram of an example network environment for a positive displacement pump, according to an aspect of the disclosure.

FIG. 2 is schematic diagram of an example positive displacement pump, according to an aspect of the disclosure.

FIG. 3 is a schematic diagram of an example application server, according to an aspect of the disclosure.

FIG. 4 is a diagram of an example user interface for a pump control application, according to an aspect of the disclosure.

FIG. 5 is a diagram of an example user interface for receiving alerts for the pump application, according to an aspect of the disclosure.

FIG. 6 is a flow diagram showing an example method of controlling a positive displacement pump, according to an aspect of the disclosure.

FIG. 7 presents an exemplary system diagram of various hardware components and other features, for use in accordance with aspects of the present disclosure; and

FIG. 8 is a block diagram of various exemplary system components, for use in accordance with aspects of the present disclosure

DETAILED DESCRIPTION

The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known components are shown in block diagram form in order to avoid obscuring such concepts.

In an aspect, the disclosure provides for a positive displacement pump and network system for controlling one or more positive displacement pumps via a remote application. The network system may be implemented using a cloud architecture that provides for geographic diversity for access speed and redundancy, for example. The network system may provide real-time monitoring and control of the positive displacement pumps.

FIG. 1 is a representative schematic diagram of an example network environment 100 for a positive displacement pump 110, in accordance with aspects of the present disclosure. The network environment 100 may include a user device 120 for providing a user interface to a user, a communication network 130 for transmitting various communications among devices as described herein, a command server 140 for publishing commands to one or more positive displacement pumps 110, an application server 150 for providing an application to the user device 120, and a database server 160 for storing data reported by one or more positive displacement pumps 110 and user devices 120.

The positive displacement pump 110 may be a positive displacement pump including the communications hardware (e.g., network interface) and software described herein for providing remote control of the positive displacement pump 110. In an aspect, the positive displacement pump 110 may operate in either a local mode, in which a local user interface is used to control operation of the positive displacement pump 110, or a remote mode, in which commands received via a network interface are used to control operation of the positive displacement pump 110.

The term “positive displacement pump” as used herein describes a category of fluid pumps that trap a fixed amount of fluid and force the trapped fluid to a discharge pipe. Positive displacement pumps are conventionally used in processes that require precise measurement or dosing of fluid. Positive displacement pumps may be driven by an electric motor under the control of a controller (e.g., electronic control unit (ECU) and/or other processor) that moves fluid at a desired rate. In an aspect, a positive displacement pump may include a detachable pumphead that includes a casing and fluid contacting components of the positive displacement pump. The pumphead may be driven by the motor via a magnetic coupling, for example. The positive displacement pump may be fitted with a different pumphead, depending on the desired operation. For example, in an aspect, a positive displacement pump may include a housing including the drive motor, controller, and user interfaces, and a detachable pumphead may be fitted in or on the housing. The selection of different pumpheads may configure the positive displacement pump 110 as, for example, one of a peristaltic pump, gear pump, or diaphragm pump.

The user device 120 may include various computing devices that may be used to access an application via a web interface. For example, the user device 120 may be or include any mobile or fixed computer device, including but not limited to a desktop or laptop or tablet computer, a cellular telephone, a gaming device, a mixed reality or virtual reality device, a music device, a television, a navigation system, a camera, a personal digital assistant (PDA), a handheld device, or any other suitable computer device having wired and/or wireless connection capability with one or more other devices. The user device 120 may include a processor that executes an operating system and one or more applications. In an aspect, the user device 120 may execute a dedicated application for providing a user interface to the pump control application server 150. In another aspect, the user device 120 may execute a web browser application to access a webpage providing a user interface to the pump control application server 150. In an aspect, the user device 120 may be configured for secure communication with the application server 150. For example, the user device 120 may install a certificate of the application server 150 allowing device verification and encrypted communications.

The communication network 130 may be or include a computer network that allows communication among various devices. For example, the communication network 130 may include the Internet and may transmit data packets according to the Internet protocol. As illustrated, the communication network 130 may include the command server 140, application server 150, and database server 160. In an aspect, the command server 140, application server 150, and database server 160 may be implemented using a cloud architecture. For example, the command server 140, application server 150, and database server 160 may each be implemented as a virtual server to be provided by a cloud services provider. The cloud service provider may generate instances of the virtual servers using geographically dispersed computing hardware. A cloud architecture may provide scalability, load balancing, stability against network interruptions, and redundancy of stored data, among other features. It should be appreciated that the command server 140, application server 150, and database server 160 may also be implemented using conventional computer servers configured to execute the programs described herein.

The command server 140 may include one or more computer servers configured to publish commands to one or more positive displacement pumps 110. In an aspect, the command server 140 may use a publish-subscribe based messaging protocol. For example, the command server 140 may use Message Queuing Telemetry Transport (MQTT) protocol. In an aspect, the use of a publish-subscribe based messaging protocol may provide security by having the positive displacement pumps 110 establish a connection to a known server, rather than accepting a connection from potentially different sources.

The command server 140 may publish commands to control the positive displacement pumps 110. The control may include commands for the positive displacement pump 110 to provide information. The commands may be associated with a command string or topic, which may include an identifier (id) of the positive displacement pump 110 that should execute the command. The id may be, for example, a media access control (MAC) address of the positive displacement pump 110. The commands may also include one or more parameters for executing the command. Table 1, below, includes a listing of example commands that may be used with a positive displacement pump 110.

TABLE 1 TOPIC DESCRIPTION mflx/id/sts/online Powerup and Last Will Topic, message = “true” or “false” mflx/id/sts/Uptime Time since power up and Date/Time. JSON mflx/id/sts/Info RPM, Model, Adapter and Connection. JSON mflx/id/sts/RunStatus JSON true = pump motor on, false = pump motor off true = dispense on, false = dispense off true = sensor open, false = sensor closed error code (0 = status OK) mflx/id/sts/FlowDir Flow direction, “CW” or “CCW” mflx/id/sts/RemCont “1” = Remote, “0” = Local mflx/id/sts/DispMode “Continuous”, “Time” or “Volume” mflx/id/sts/Tube Size and calibration status in JSON “1”, “2”, , “N” where N = last tube size selection false = tube not calibrated, true = calibrated mflx/id/sts/FlowUnits “1”, “2”, , “N” where N = last flow units selection mflx/id/sts/CumVol Cumulative volume (Text string of float number) mflx/id/sts/RemDisp Remaining dispense volume and time in JSON mflx/id/sts/BatchCount Batch Count current and total in JSON mflx/id/sts/FlowRate Current, Min and Max flow rates in JSON mflx/id/sts/ Request to server to send Unix Timestamp (no NeedTimestamp message)

The command server 140 may implement a program for a positive displacement pump 110 by publishing commands. For example, the command server 140 may receive a selection of a program from the application server 150. The selected program may include a series of commands and parameters. The command server 140 may publish the commands at the appropriate time to control the positive displacement pump 110 to operate according to the program. Additionally, the command server 140 may receive feedback from the positive displacement pump 110 (e.g., in response to a Get command). The command server 140 may evaluate conditions based on the feedback for executing the program. In an aspect, the command server 140 may be implemented as a remote server that provides commands for multiple positive displacement pumps 110, which may be owned by different organizations, for example. In another aspect, a local command server may be implemented (e.g., by an organization) to allow control of local positive displacement pumps 110. For example, a command server 140 may be implemented on a user device 120 and communicate via a local area network (LAN) or other short-range communication protocol.

Application server 150 may include one or more computer servers configured to provide a user interface accessible via a user device 120. The application server 150 may communicate with dedicated applications executing on user devices 120 or may provide a web-based interface accessible via a web browser, for example. As described in further detail below, in one or more example implementations, the user interface provided by the application server may allow a user to configure one or more positive displacement pumps for operation. The application server 150 may also perform monitoring of the positive displacement pumps 110 and provide alerts to the user devices 120. The user interface may allow the user device 120 to configure which alerts to receive and how the alerts are received (e.g., via application notification, text, or email).

Database server 160 may store information collected from one or more positive displacement pumps 110 via the command server 140. The database server 160 may provide data security and integrity protection, for example. In an aspect, the database server 160 may collect and store data that may be reported to regulatory agencies, for example, as evidence of laboratory processes. The database server 160 may provide data security using secure socket layer (SSL) certificates to encrypt data between the pumps 110 and the database server 160. Additionally, access to the database server 160, as well as the application server 150 and command server 140, may be controlled using authenticated user names and passwords, for example. Actions on any of the servers may be attributed to a specific user. The database server 160 may generate an audit trail indicating which users performed actions at which time. Further, because the pumps 110 may be operated in either local mode or remote mode, the database server 160 may track actions taken in local mode even if a registered user is not identified. For example, the actions performed in local mode may therefore be attributed to a local user.

The database server 160 may segregate data of multiple customers. For example, a customer (e.g., a laboratory, corporation, or other entity), may have access only to data associated with devices belonging to the customer. A customer may designate multiple registered users (e.g., employees), who may access data based on user role. For example, the database server 160 may allow access to users based on a security level. For instance, an administrator may be able to configure database storage, export data, annotate data, and generate audit reports, while a regular user may only be able to read or export data. Additionally, a system administrator may not be associated with any customer and may at least read any data.

FIG. 2 is a representative schematic diagram of an example positive displacement pump 110 usable in accordance with aspects of the present disclosure. The positive displacement pump 110 may include a wet end 220 and a case 230. The wet end 220 may include fluid handling components including a pumphead 222, a liquid supply 224, an inlet tube 226, and an outlet tube 228. The wet end 220 may be detachable from the case 230 to allow replacement or substitution of the wet end 220. For example, different pumpheads 222 may be selected for use in pumping different fluids.

The pumphead 222 may include a mechanism for pumping fluid. In an aspect, the positive displacement pump 110 may use a pumphead that allows precise monitoring of the fluid being pumped (e.g., volume pumped). Example pumpheads may include a peristaltic pumphead, a quaternary diaphragm pumphead, and/or a gear pumphead. The pumphead 222 may be connected to a liquid supply 224 via an inlet tube 226. The pumphead 222 may pump the fluid to the outlet tube 228. In an aspect, for example, using a peristaltic pump, the inlet tube 226 and the outlet tube 228 may be or include a continuous tube extending through the pumphead 222.

The case 230 may include electronic components of the positive displacement pump 110. For example, the case 230 may include a network interface 232, a local user interface 234, a drive motor 240, a processor 250, a memory 252, and a leak sensor 254. Further, the memory 252 may store instructions executable by the processor 250 for implementing a pump controller 260, which may include a motor controller 262, a command module 264, and a reporting module 266.

The network interface 232 may include a wired or wireless network interface for transmitting and receiving data packets. In an aspect, the network interface 232, for example, may utilize transmission control protocol/Internet protocol (TCP/IP) packets that may carry commands, parameters, or data. For example, the network interface 232 may receive MQTT messages including the commands listed in Table 1 above. The network interface 232 may forward commands to the processor 250 for processing by the pump controller 260. Conversely, the network interface 232 may receive data generated by the pump controller 260 from the processor 250 and transmit the data to the command server 140.

The local user interface 234 may include any suitable controls provided on the positive displacement pump 110 for controlling the positive displacement pump 110. In an aspect, the local user interface 234 may include a display screen that presents menus for selecting commands similar to the commands transmitted by the command server 140. In another aspect, the local user interface 234 may include dedicated buttons and/or other selection features that perform specific commands. For example, the local user interface 234 may include a button for selection to start/stop pumping. The local user interface 234 may generate commands to the processor 250 for processing by the pump controller 260. As noted above, the positive displacement pump 110 may operate in a remote mode in which the local user interface 234 is at least partially disabled to prevent local input.

The drive motor 240 may be or include an electric motor that provides a force for pumping the fluid. In an aspect, the drive motor 240 may be magnetically coupled to the pumphead 222 to drive the pumphead 222. The drive motor 240 may be controlled by the pump controller 260. For example, the pump controller 260 may generate a control signal indicating a speed and direction of the drive motor 240 based on received commands.

The processor 250 may include one or more processors for executing instructions. An example of processor 250 may include, but is not limited to, any suitable processor specially programmed as described herein, including a controller, microcontroller, application specific integrated circuit (ASIC), field programmable gate array (FPGA), system on chip (SoC), or other programmable logic or state machine. The processor 250 may include other processing components, such as an arithmetic logic unit (ALU), registers, and a control unit. The processor 250 may include multiple cores and may be able to process different sets of instructions and/or data concurrently using the multiple cores to execute multiple threads, for example.

Memory 252 may be configured for storing data and/or computer-executable instructions defining and/or associated with the pump controller 260, and processor 250 may execute such instructions with regard to operation of the pump controller 260. Memory 252 may represent one or more hardware memory devices accessible to processor 250. An example of memory 252 can include, but is not limited to, a type of memory usable by a computer, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof. Memory 252 may store local versions of a pump controller application being executed by processor 250, for example.

Leak sensor 254 may be or include a hardware leak sensor that detects whether liquid is leaking within or from the positive displacement pump 110. For example, a leak may occur when a component of the wet end 220 fails or becomes detached. For example, either the inlet tube 226 or the outlet tube 228 may rupture or become detached from the pumphead 222. In an aspect, the leak sensor 254 may include an electronic mesh that forms a circuit when liquid is present. The leak sensor 254 may be coupled to the processor 250, which may generate a stop command to stop operation of the positive displacement pump 110 in response to the leak sensor 254 detecting a leak. Stopping the positive displacement pump 110 may prevent damage to the pump and waste of a fluid, for example. Further, a notification of the leak may be used to abort or modify a process using the positive displacement pump 110.

The pump controller 260 may control operation of the positive displacement pump 110 based on commands received from either the network interface 232 or the local user interface 234, for example. The pump controller 260 may include a motor controller 262 for controlling operation of the drive motor 240, a command module 264 for interpreting and executing received commands, and/or a reporting module 266 for monitoring pump operation and reporting data regarding the positive displacement pump 110.

FIG. 3 is a representative schematic diagram of an example application server 150 usable in accordance with aspects of the present disclosure. In an aspect, the application server 150 may provide a user interface to a user associated with a user device 120 for controlling one or more pumps 110, which may, for example, be selectively associated with the user. In an aspect, the application server may be designed to accommodate organizations that may purchase multiple pumps to be used by multiple users. The application server 150 may model such organizations as customers and thereby provide a customer management system 320 tailored so as to facilitate access control to the multiple pumps associated with each customer, for example.

As noted above, the application server 150 may be implemented using a computer server or a virtual server implemented using cloud resources, for example. In either case, the application server may be implemented on computer hardware including, for example, a processor 310, memory 312, and network interface 314, each of which may have similar hardware components to those described above.

The customer management system 320 may define a customer profile 330 for each customer organization. The customer profile 330 may include a number of registered users 332, which may include an owner, administrator, and staff, for example. The owner may be an account owner that retains all access privileges for the customer. An administrator may have the ability to configure pumps and select programs for operating the pumps. Staff may be limited to receiving alerts regarding pumps and obtaining data regarding the pumps or have only other limited permissions, for example.

The customer profile 330 may also include a number of pump profiles 334 associated with the customer. The customer may, for example, use a user device 120 to register each positive displacement pump 110 and create a corresponding pump profile 334. The pump profile 334 may then be accessed by the users 332. The pump profile may include one or more identifiers, a current control mode (e.g., remote or local), and a current status (e.g., on-off and/or current operation parameters), for example.

The customer profile 330 may also include a database module 336 that provides access to the database server 160. For example, the database module 336 may provide a user interface that allows a user 332 to generate various reports regarding the pump profiles 334. As another example, the database module 336 may include an audit tool 360 that allows a user to inspect an audit trail for data in the database server 160.

Among other things, the customer profile 330 may also include a notification module 338 that allows a customer to configure notifications or alerts to be received by users 332. The notification module 338 may allow a selection of an alert type (e.g., text, email, application notification) for each user, and selection of one or more predefined alert conditions (e.g., leak detected, change in flow rate, motor temperature, pump offline, dispense on, dispense off, pump head open, aux input open, aux input closed).

The customer profile 330 may also include a program module 340 that allows a customer to configure a program for controlling a positive displacement pump 110, for example. The program module 340 may allow the user to select a predefined program for a pump model and enter parameters for the predefined program. In an aspect, a user may upload a program to be included in the predefined programs.

The customer management system 320 may also include a pump management module 350. The pump management module 350 may be hidden from direct user interaction, for example, but may be used by a system administrator to manage different pump models. For example, the pump management module 350 may include programs 352, which are predefined for each pump model. The programs 352 may include commands that may be executed by a particular model of pump.

The pump management module 350 may also include a prediction module 354 for each pump model that is configured to predict when a failure is likely to occur for the particular pump model based on a current configuration of the pump. In an aspect, the prediction module 354 may collect pump data via one or more of the application server 150, command server 140, or database server 160. The data may, for example, include user entered data, such as a physical pump configuration including selected pumphead, selected tubing properties (e.g., formulation and size), fluid formulation, and/or other properties, based on choices made by the user. The data may also include pump operating parameters that may be detected and reported by the positive displacement pump 110, such as rotation speed, rotation direction, and number of compressions. The prediction module 354 may compare, for example, the current configuration and operating parameters of a specific pump to historical failure information for the same or similar model of pump or pump component (e.g., tubing) to predict a likelihood of failure or a component lifetime to prevent failure. For example, in a peristaltic pump, the prediction module 354 may determine an average time to failure or average number of cycles to failure for the tubing used in the current configuration. The prediction module 354 may then predict a likely time of failure under the current configuration. The prediction module 354 may provide (or may be selected to provide) a notification to the users 332 prior to the predicted likely time of failure.

In an aspect, the prediction module 354 may use data collected in database server 160 to determine the average likelihood of failure over a given time frame or likely length of a component lifetime, which may be used to prevent or reduce likelihood of failure. In another aspect, the prediction module 354 may use historical information of a component manufacturer or specifications provided by a component manufacturer, alone, or in combination with the data collected in database server 160.

FIG. 4 is a diagram of an example user interface 400 for a pump control application usable in accordance with various features of the present disclosure that may be executed by a user device 120. The example user interface 400 may be for a mobile device. A person of ordinary skill in the art would readily understand that equivalent user interfaces may be used for different types of user devices 120. The user interface 400 may present information such as pump status, communication status, reservoir volume, off-timer value, batch count, current flow rate, or direction, for example. The user interface 400 may include a mode toggle switch 410 that allows the user to take control of the positive displacement pump 110 via the user device 120 by switching from a local mode to a remote mode. When the mode toggle switch 410 is switched to remote mode, the application server 150 may generate a command on the command server 140 to switch the positive displacement pump 110 to the remote mode. The local user interface 234 (FIG. 2) of the positive displacement pump 110 may then become disabled. The user interface 400 may include a control option 420 that may be expanded to allow the user to change various pump parameters by generating commands, for example. For instance, the user may select the flow rate 430 and type, select, or otherwise input a number within an indicated range. The user interface 400 may include a start button 440 to start the positive displacement pump 110 with new parameters. In an aspect, in response to the start button 440 being selected, the application server 150 may generate a new command or start a new program. In an aspect, the user interface 400 may only allow the user to change pump parameters while the positive displacement pump 110 is stopped.

In another aspect, the user interface 400 may include a program selection button 450. When a user selects the program selection button 450, the user interface 400 may present a list of programs available for the positive displacement pump 110. The user may select a program from the list. When the program is selected, the user interface 400 may update to display the operating parameters of the selected program. The user may start the program by selecting the start button 440.

The user interface 400 may include a data record button 460 providing an option regarding control of data generated by the positive displacement pump 110. For example, the user interface may allow a user to determine whether the data is copied to the data server 160.

FIG. 5 is a diagram of an example user interface 500 usable in accordance with various features of the present disclosure for receiving alerts for the pump application. The user interface 500 may allow configuration of alerts or notifications for a particular pump, for example. The user interface 500 may allow a user to select which alerts to receive, for example, by setting a filter 540. For example, the user interface 500 may present a plurality of alerts 510, each of which is associated with an alert type based on a defined condition 520, which may include one or more alert conditions. The user interface 500 may provide a timestamp 530 for each alert 510. Further, the user interface 500 may allow the user to indicate a transmission type for the alert (e.g., text, email, or application notification.

FIG. 6 is a flow diagram showing an example method 600 of controlling a positive displacement pump, in accordance with aspects of the present disclosure. The method 600 may be performed by the application server 150 of FIG. 1, for example. Optional blocks are shown with dashed lines.

In block 610, the method 600 may include receiving, such as from a registered user, a selection of an operation program for a positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may receive the selection of the operation program 352 from the registered user 332 via the program module 340. The operation program 352 may include control commands (see Table 1) to control the drive motor 240 (FIG. 2) of the positive displacement pump 110 (FIG. 1).

In block 620, the method 600 may include sending the operation program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may send the operation program 352 to the command server 140 (FIG. 1) via the network interface 314. The positive displacement pump 110 may retrieve the control commands from the command server 140, as shown in FIG. 1. In an aspect, the block 620 may optionally include sub-block 622, in which the method may include indicating a time to publish the commands to control the positive displacement pump to operate according to the program. For example, as shown in FIG. 3, the operation program 352 may include an absolute or relative time for each command. The command server 140 (FIG. 1) may publish the commands at the designated time, or may publish the commands earlier and indicate a time for each command to be executed.

In block 630, the method 600 may include storing a record of the control commands associated with the registered user. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may use the database module 336 to store the record of the control commands associated with the registered user 332.

In block 640, the method 600 may include receiving operation parameters from the positive displacement pump and storing the operation parameters in association with the registered user. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may receive the operation parameters from the positive displacement pump 110 (FIG. 1) via the command server 140 (FIG. 1). The customer management system 320 may associate the operation parameters with the registered user and store the operation parameters in association with the registered user at the database server 160 (FIG. 1) using the database module 336.

In block 650, the method 600 may include evaluating the operation parameters according to defined conditions to determine whether an alert condition has occurred. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may use the notification module 338 to evaluate the operation parameters according to defined conditions 520 (FIG. 5). For example, at sub-block 652, the block 650 may optionally include the step of comparing a current configuration and the operating parameters of the positive displacement pump to historical failure information for a same or similar model of pump or pump component to predict a likelihood of failure or a component lifetime. For instance, the pump may be a peristaltic pump, and the historical failure information may include an average time to failure or average number of cycles to failure for a tubing used in the current configuration.

In block 660, the method 600 may include transmitting an alert to the registered user or another registered user. In an aspect, for example, as shown in FIG. 3, the customer management system 320 may use the notification module 338 to transmit an alert 510 (FIG. 5) corresponding to the defined conditions 520 (FIG. 5) to the registered user 332 (e.g., admin) or another registered user (e.g., staff). For example, the alert 510 (FIG. 5) may indicate a predicted time of failure for the pump or a component thereof.

In block 670, the method 600 may optionally include receiving an indication that a leak has been detected at the positive displacement pump. For example, as shown in FIG. 3, the customer management system 320 may receive the operation parameters from the positive displacement pump 110 (FIG. 1) via the command server 140 (FIG. 1). The customer management system 320 may use the notification module 338 to transmit an alert regarding the leak to a registered user.

In block 680, the method 600 may optionally include generating an audit report including the record of the control commands and associated registered user. For example, as shown in FIG. 3, the database module 336 may use the audit tool 360 to generate the audit report based on a request from a registered user.

Aspects of the present disclosure may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In one aspect, the disclosure is directed toward one or more computer systems capable of carrying out the functionality described herein. FIG. 7 presents an example system diagram of various hardware components and other features that may be used in accordance with aspects of the present disclosure. Aspects of the present disclosure may be implemented using hardware, software, or a combination thereof and may be implemented in one or more computer systems or other processing systems. In one example variation, aspects of the disclosure are directed toward one or more computer systems capable of carrying out the functionality described herein. An example of such a computer system 700 is shown in FIG. 7.

Computer system 700 includes one or more processors, such as processor 704. The processor 704 is connected to a communication infrastructure 706 (e.g., a communications bus, cross-over bar, or network). Various software aspects are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement aspects of the disclosure using other computer systems and/or architectures.

Computer system 700 may include a display interface 702 that forwards graphics, text, and other data from the communication infrastructure 706 (or from a frame buffer not shown) for display on a display unit 730. Computer system 700 also includes a main memory 708, preferably random access memory (RAM), and may also include a secondary memory 710. The secondary memory 710 may include, for example, a hard disk drive 712 and/or a removable storage drive 714, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 714 reads from and/or writes to a removable storage unit 718 in a well-known manner. Removable storage unit 718, represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 714. As will be appreciated, the removable storage unit 718 includes a computer usable storage medium having stored therein computer software and/or data.

In alternative aspects, secondary memory 710 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 700. Such devices may include, for example, a removable storage unit 722 and an interface 720. Examples of such may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 722 and interfaces 720, which allow software and data to be transferred from the removable storage unit 722 to computer system 700.

Computer system 700 may also include a communications interface 724. Communications interface 724 allows software and data to be transferred between computer system 700 and external devices. Examples of communications interface 724 may include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 724 are in the form of signals 728, which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 724. These signals 728 are provided to communications interface 724 via a communications path (e.g., channel) 726. This path 726 carries signals 728 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and/or other communications channels. In this document, the terms “computer program medium” and “computer usable medium” are used to refer generally to media such as a removable storage drive 780, a hard disk installed in hard disk drive 770, and signals 728. These computer program products provide software to the computer system 700. Aspects of the disclosure are directed to such computer program products.

Computer programs (also referred to as computer control logic) are stored in main memory 708 and/or secondary memory 710. Computer programs may also be received via communications interface 724. Such computer programs, when executed, enable the computer system 700 to perform various features in accordance with aspects of the present disclosure, as discussed herein. In particular, the computer programs, when executed, enable the processor 704 to perform such features. Accordingly, such computer programs represent controllers of the computer system 700.

In variations where aspects of the disclosure are implemented using software, the software may be stored in a computer program product and loaded into computer system 700 using removable storage drive 714, hard disk drive 712, or communications interface 720. The control logic (software), when executed by the processor 704, causes the processor 704 to perform the functions in accordance with aspects of the disclosure as described herein. In another variation, aspects are implemented primarily in hardware using, for example, hardware components, such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).

In yet another example variation, aspects of the disclosure are implemented using a combination of both hardware and software.

FIG. 8 is a block diagram of various example system components (e.g., on a network) that may be used in accordance with aspects of the present disclosure. The system 800 may include one or more accessors 860, 862 (also referred to interchangeably herein as one or more “users”) and one or more terminals 842, 866. The accessors 860, 862 may correspond to user devices 120 (FIG. 1). In one aspect, data for use in accordance with aspects of the present disclosure may, for example, be input and/or accessed by accessors 860, 862 via terminals 842, 866, such as personal computers (PCs), minicomputers, mainframe computers, microcomputers, telephonic devices, or wireless devices, such as personal digital assistants (“PDAs”) or a hand-held wireless devices coupled to a server 843, such as a PC, minicomputer, mainframe computer, microcomputer, or other device having a processor and a repository for data and/or connection to a repository for data, via, for example, a network 844, such as the Internet or an intranet, and couplings 845, 846, 864. The couplings 845, 846, 864 include, for example, wired, wireless, or fiber optic links. In another example variation, the method and system in accordance with aspects of the present disclosure operate in a stand-alone environment, such as on a single terminal.

The aspects of the disclosure discussed herein may also be described and implemented in the context of computer-readable storage medium storing computer-executable instructions. Computer-readable storage media includes computer storage media and communication media. For example, flash memory drives, digital versatile discs (DVDs), compact discs (CDs), floppy disks, and tape cassettes. Computer-readable storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, modules or other data.

This written description uses examples to disclose aspects of the present disclosure, including the preferred embodiments, and also to enable any person skilled in the art to practice the aspects thereof, including making and using any devices or systems and performing any incorporated methods. The patentable scope of these aspects is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims. Aspects from the various embodiments described, as well as other known equivalents for each such aspect, can be mixed and matched by one of ordinary skill in the art to construct additional embodiments and techniques in accordance with principles of this application. 

1. A positive displacement pump, comprising: a pumphead; a motor operably connected to the pumphead to drive the pump; a leak sensor configured to detect leakage from the pumphead or tube installed therein; a memory; a network interface; a processor in communication with the memory and the network interface, the processor configured to: subscribe, via the network interface, to a command hub that publishes commands for the pump; control the motor to drive the pumphead according to commands received from the command hub via the network interface; collect operation parameters from the motor and the leak sensor; and send the operation parameters to a remote server via the network interface.
 2. The positive displacement pump of claim 1, wherein the processor is configured to communicate with the command hub using Message Queuing Telemetry Transport (MQTT) protocol.
 3. The positive displacement pump of claim 1, wherein the command hub publishes commands for multiple pumps, and the processor is configured to determine which commands to execute based on an identifier of the positive displacement pump.
 4. The positive displacement pump of claim 3, wherein the identifier is a media access control (MAC) address of the positive displacement pump.
 5. The positive displacement pump of claim 1, further comprising: a local user interface, wherein the processor is configured to operate in one of a local mode in which the processor executes commands from the local user interface and a remote mode in which the local user interface is at least partially disabled to prevent local input.
 6. The positive displacement pump of claim 1, wherein the leak sensor comprises an electronic mesh that forms a circuit when liquid is present.
 7. The positive displacement pump of claim 1, wherein the processor is configured to stop the motor in response to the leak sensor detecting a leak.
 8. The positive displacement pump of claim 1, wherein the operation parameters include rotation speed, rotation direction, and number of compressions.
 9. The positive displacement pump of claim 1, wherein the pumphead is one of: a peristaltic pumphead, a quaternary diaphragm pumphead, or a gear pumphead.
 10. A method of controlling a positive displacement pump via a network, comprising: receiving, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump; sending the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub; storing a record of the control commands associated with the registered user; receiving operation parameters from the positive displacement pump and storing the operation parameters in association with the registered user; evaluating the operation parameters according to defined conditions to determine whether an alert condition has occurred; and transmitting an alert to the registered user or another registered user.
 11. The method of claim 10, wherein the network hub publishes the control commands using Message Queuing Telemetry Transport (MQTT) protocol.
 12. The method of claim 10, wherein the command hub publishes commands for multiple pumps, each command including an identifier of the positive displacement pump to execute the respective command.
 13. The method of claim 12, wherein the identifier is a media access control (MAC) address of the positive displacement pump.
 14. The method of claim 10, wherein the operation parameters include rotation speed, rotation direction, and number of compressions.
 15. The method of claim 10, wherein evaluating the operation parameters according to defined conditions comprises: comparing a current configuration and the operating parameters of the positive displacement pump to historical failure information for a same or similar model of pump or pump component to predict a likelihood of failure or a component lifetime.
 16. The method of claim 15, wherein the positive displacement pump is a peristaltic pump and the historical failure information includes an average time to failure or average number of cycles to failure for a tubing used in the current configuration.
 17. The method of claim 10, wherein sending the program to the network hub to publish the control commands comprises: indicating a time to publish the commands to control the positive displacement pump to operate according to the program.
 18. The method of claim 10, further comprising: generating an audit report including the record of the control commands and associated registered user, the operation parameters from the positive displacement pump, and the alert.
 19. The method of claim 10, further comprising: receiving an indication that a leak has been detected at the positive displacement pump.
 20. A system of controlling a positive displacement pump via a network, comprising: a positive displacement pump, comprising: a pumphead, a motor operably connected to the pumphead to drive the pump, and a leak sensor configured to detect leakage from the pumphead or tube installed therein; and a server comprising a memory, a network interface, and a processor in communication with the memory and the network interface, the processor configured to: receive, from a registered user, a selection of an operation program for the positive displacement pump, the operation program including control commands to control a drive motor of the positive displacement pump; send the program to a network hub to publish the control commands to the positive displacement pump, wherein the positive displacement pump retrieves the control commands from the network hub; store a record of the control commands associated with the registered user; receive operation parameters from the positive displacement pump and storing the operation parameters in association with the registered user; evaluate the operation parameters according to defined conditions to determine whether an alert condition has occurred; and transmit an alert to the registered user or another registered user. 